<template>
  <div>
    <!-- 面包屑导航区域 -->
    <el-breadcrumb separator-class="el-icon-arrow-right">
      <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
      <el-breadcrumb-item>权限管理</el-breadcrumb-item>
      <el-breadcrumb-item>权限列表</el-breadcrumb-item>
    </el-breadcrumb>

    <!-- 卡片视图 -->
    <el-card>
      <!-- 动态绑定数据源 :data -->
      <el-table :data="rightsList" border stripe>
        <!-- 提供一个索引列 -->
        <el-table-column type="index" label="#"></el-table-column>
        <el-table-column label="权限名称" prop="authName"></el-table-column>
        <el-table-column label="路径" prop="path"></el-table-column>
        <el-table-column label="权限等级" prop="level">
          <!-- 通过自定义插槽的形式，来定义输出格式 -->
          <!-- 先放一个模板 -->
          <!-- slot-scope属性，表示插槽范围，用 scope来接收所有的数据 -->
          <template slot-scope="scope">
            <!-- 使用 v-if 判断 -->
            <el-tag v-if="scope.row.level === '0'">一级</el-tag>
            <el-tag type="success" v-else-if="scope.row.level === '1'">二级</el-tag>
            <el-tag type="warning" v-else>三级</el-tag>
          </template>
        </el-table-column>
      </el-table>
    </el-card>
  </div>
</template>

<script>
export default {
  // 数据集
  data() {
    return {
      // 权限列表
      rightsList: [],
    }
  },
  // 在页面刚创建的时候发起请求 ，生命周期函数
  created() {
    // 获取所有的权限
    this.getRightsList()
  },
  // 方法函数
  methods: {
    // 获取权限列表
    async getRightsList() {
      // 发起一个 get 请求，
      const { data: res } = await this.$http.get('rights/list')
      // 判断 返回的 status，是否等于200
      if (res.meta.status !== 200) {
        return this.$message.error('获取权限列表失败')
      }
      // 将请求的数据 挂载到 rightsList 中 ，供列表使用
      this.rightsList = res.data
    },
  },
}
</script>

<style lang="less" scoped></style>
